// Copyright 2022 a.o.smith ALL Rights Reserved
package com.liuxinlong.modules.entity;

import com.baomidou.mybatisplus.annotations.TableName;
import io.swagger.annotations.Api;
import lombok.Data;

/**
 * 风险专利历史信息实体
 *
 * @author liuxinlong@hotwater.com.cn
 * @version 1.0.0
 * @since 2024-08-19
 */
@Api("风险专利历史信息实体对象")
@Data
@TableName("pmip_patent_proposal_history")
public class PatentProposalHistory {
    /**
     * id
     */
    private String id;

    /**
     * 原id
     */
    private String proposalId;

    /**
     * 管控过程id
     */
    private String processId;

    /**
     * 项目id
     */
    private String projectId;

    /**
     * 风险点id
     */
    private String riskId;

    /**
     * 专利名称
     */
    private String patentName;

    /**
     * 专利号
     */
    private String patentSn;

    /**
     * 公开号
     */
    private String openSn;

    /**
     * 类别 1.发明专利 2.实用新型 3.外观设计
     */
    private int classType;

    /**
     * 专利权人
     */
    private String patentee;

    /**
     * 状态
     */
    private String status;

    /**
     * 申请日期
     */
    private String applyDate;

    /**
     * 风险等级
     */
    private int level;

    /**
     * 风险分析
     */
    private int riskType;

    /**
     * 风险分析落入权项/不具备的特征
     */
    private String rightFalling;

    /**
     * 风险处理方案/过程
     */
    private String handlingPlan;

    /**
     * 是否监控
     */
    private int monitor;

    /**
     * 第三方评估报告
     */
    private String thirdReport;

    /**
     * 备注
     */
    private String remark;

    /**
     * 创建人
     */
    private String createUser;

    /**
     * 创建时间
     */
    private String createTime;

    /**
     * 更新人
     */
    private String updateUser;

    /**
     * 更新时间
     */
    private String updateTime;

    /**
     * 无参构造函数
     */
    public PatentProposalHistory() {

    }

    /**
     * 带参构造函数
     *
     * @param patentProposal 入参
     */
    public PatentProposalHistory(PatentProposal patentProposal) {
        proposalId = patentProposal.getId();
        projectId = patentProposal.getProjectId();
        riskId = patentProposal.getRiskId();
        patentName = patentProposal.getPatentName();
        patentSn = patentProposal.getPatentSn();
        openSn = patentProposal.getOpenSn();
        classType = patentProposal.getClassType();
        patentee = patentProposal.getPatentee();
        status = patentProposal.getStatus();
        applyDate = patentProposal.getApplyDate();
        level = patentProposal.getLevel();
        riskType = patentProposal.getRiskType();
        rightFalling = patentProposal.getRightFalling();
        handlingPlan = patentProposal.getHandlingPlan();
        monitor = patentProposal.getMonitor();
        thirdReport = patentProposal.getThirdReport();
        remark = patentProposal.getRemark();
        createUser = patentProposal.getCreateUser();
        createTime = patentProposal.getCreateTime();
        updateUser = patentProposal.getUpdateUser();
        updateTime = patentProposal.getUpdateTime();
    }

}
